var obj = {}

function fn(arg, arg2, arg3) {
  console.log(this === obj)
  console.log(arg, arg2, arg3)
}

/**
 * 生成一个新函数
 * 改变新函数内部的 this 指向
 */
var fn2 = fn.bind(obj)

fn2(1, 2, 3)

// 应用场景：点击按钮后禁用 3 秒
button.onclick = function () {
  this.disabled = true
  setTimeout(
    function () {
      this.disabled = false
    }.bind(this),
    3000
  )
}
